Much work has been done in the recent years regarding the development of high-speed, high-quality data processing printers. A considerable fraction of this work has gone into the development of laser-type print engines. These print engines have a specially adapted laser with a beam that can be rapidly turned on and off to generate a raster type scan line composed of pixels, or dots, across a photoconductive surface. The adjacent scans of the laser beam are located within close proximity to each other so that when the surface is completely scanned, a full, accurate depiction of the image to be produced is projected on the surface. A paper printout of the image may then be produced by conventional xerographic techniques.
The advantage of using a laser-type print engine is that the pixel density can be quite high. A laser-type print engine can produce 90,000 or more pixels per square inch of output image. This makes it possible to produce figures and characters of extremely high quality, equal to those produced by much slower conventional printers with typewriter type impacting keys. Another advantage laser printers have over conventional printers is that they are not limited to printing only the figures contained on the type keys. The laser beam may be used to form a raster image of almost any combination of pixels desired. This is a desirable feature to have on a printer when printing either a business or technical document that includes irregularly shaped figures such as graph lines or scientific symbols.
One problem with laser printing technology is that large amounts of print command data must be processed by the printing system at a very high rate of speed. This is because it is necessary for the printing system to almost simultaneously receive the output data from the processor to be printed, convert the data into pixel image form readable by the print engine, and transmit the pixel print commands in the appropriate sequence to the print engine so the laser will be activated at the appropriate times as its beam scans along the photoconductive surface.
Thus, it is necessary to provide a data controller that can properly sequence the flow of data from the main processor, convert it to print engine-readable pixel form, and transmit the pixel data to the print engine.
Currently, there are two approaches to data controller design. One approach uses a band buffer where a block of data is received by the controller, converted into pixel form, and stored in a buffer where it can be read by the print engine. A disadvantage of this system is the storage buffer is too small to store all of the pixel data necessary for some complex graph and symbol imagery. Thus, these controllers are of limited utility.
Alternatively, the data controller may have a full page bit memory system. These controllers are provided with at least one full page bit memory map that is representative of the data to be retrieved and for scanning by the print engine. Processing circuitry within the data controller analyzes the input from the main processor to determine if it is either format data, called font data, or actual image composition data. An image generator circuit analyzes the composition data by referring to the font data, and produces a pixel representation of the image to be generated. The pixel output is loaded into the full page bit map memory. The print engine is able to access the full page bit map memory and reproduce on the photoconductive surface the image stored therein. This makes it possible to generate a full page of print output with graphs and other complex figures represented thereon.
Full page bit memory controllers can be rather slow devices because it has proved very difficult to transmit data to one position of the full page bit map and to send data from another section of the bit map at the same time. Also, some image generating systems do not transmit data to the bit map serially. With these systems the engine bit map must be fully composed before it is ready to be accessed by the print engine. If only one bit map is provided, it is necessary to follow a pattern of first loading it with pixel data, and then having the print engine access it. This slows down the operation of both the image generator and the print engine since one must remain idle while the other has access to the bit map. Therefore, it is desirable to provide the data controller with at least two full page bit maps so one may be accessed by the image processor while the other is accessed by the print engine.
Another disadvantage of full page bit memory systems is that they have memory elements that usually need to be refreshed. This is because the typical full page bit memory is a dynamic memory, meaning that the electrical charges in it that represent the data tend to decay over time. This is a problem because data stored early within the print engine will decay and become unuseable before it is accessed by the print engine. Also, this decay makes it almost impossible for the print engine to repeatedly access a bit map thereon or so that multiple copies of the page represented thereon can be printed.
A need therefore exists for a means to control the print engine's access to the bit memory system. The print engine should have access to at least two full page bit map memories so it can have access to one while the image generator has access to the other. Also, there should be a means to access the full page maps so data stored therein is frequently refreshed so as to prevent it from decaying and becoming unreadable.